home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Tele / T / TL0.2wCd.cpt / TabbyLogger Code / Source / TabbyLogger.c < prev    next >
MacBinary  |  1992-06-04  |  5.3 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Wed Jun 3 23:29:08 1992, modified Wed Jun 3 23:29:08 1992, creator Think C, type ASCII, 4623 bytes "TabbyLogger.c" , at 0x128f 460 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 54 61 62 62 79 4c | 6f 67 67 65 72 2e 63 00 |..TabbyL|ogger.c.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 12 0f 00 | 00 01 cc a6 53 3e 84 a6 |........|....S>..|
|00000060| 53 3e 84 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |S>......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c6 19 00 00 |........|........|
|00000080| 2f 2a 20 54 61 62 62 79 | 20 4c 6f 67 67 65 72 2e |/* Tabby| Logger.|
|00000090| 63 20 2a 2f 0d 2f 2a 20 | 23 64 65 66 69 6e 65 20 |c */./* |#define |
|000000a0| 44 4f 4b 49 52 4b 53 54 | 55 46 46 20 2a 2f 0d 23 |DOKIRKST|UFF */.#|
|000000b0| 69 6e 63 6c 75 64 65 20 | 3c 74 61 62 62 79 75 74 |include |<tabbyut|
|000000c0| 69 6c 73 2e 68 3e 0d 23 | 69 6e 63 6c 75 64 65 20 |ils.h>.#|include |
|000000d0| 3c 54 61 62 62 79 55 74 | 69 6c 73 2e 70 72 6f 74 |<TabbyUt|ils.prot|
|000000e0| 6f 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 22 54 |o.h>.#in|clude "T|
|000000f0| 61 62 62 79 6c 6f 67 67 | 65 72 2e 70 72 6f 74 6f |abbylogg|er.proto|
|00000100| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 3c 73 74 |.h".#inc|lude <st|
|00000110| 72 69 6e 67 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |ring.h>.|#include|
|00000120| 20 3c 73 74 64 6c 69 62 | 2e 68 3e 0d 23 69 6e 63 | <stdlib|.h>.#inc|
|00000130| 6c 75 64 65 20 3c 70 61 | 63 6b 61 67 65 73 2e 68 |lude <pa|ckages.h|
|00000140| 3e 0d 0d 69 6e 74 20 73 | 70 72 69 6e 74 66 28 75 |>..int s|printf(u|
|00000150| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 64 65 |nsigned |char *de|
|00000160| 73 74 2c 20 63 68 61 72 | 20 2a 66 6d 74 2c 20 2e |st, char| *fmt, .|
|00000170| 2e 2e 29 3b 0d 69 6e 74 | 20 73 73 63 61 6e 66 28 |..);.int| sscanf(|
|00000180| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 64 |unsigned| char *d|
|00000190| 65 73 74 2c 20 63 68 61 | 72 20 2a 66 6d 74 2c 20 |est, cha|r *fmt, |
|000001a0| 2e 2e 2e 29 3b 0d 23 64 | 65 66 69 6e 65 20 44 45 |...);.#d|efine DE|
|000001b0| 4c 49 4d 49 54 45 52 20 | 28 75 6e 73 69 67 6e 65 |LIMITER |(unsigne|
|000001c0| 64 20 63 68 61 72 20 2a | 29 20 22 2f 20 3a 22 0d |d char *|) "/ :".|
|000001d0| 65 78 74 65 72 6e 20 69 | 6e 74 20 4d 79 76 52 65 |extern i|nt MyvRe|
|000001e0| 66 4e 75 6d 3b 0d 74 79 | 70 65 64 65 66 20 65 6e |fNum;.ty|pedef en|
|000001f0| 75 6d 7b 0d 09 54 61 62 | 62 79 3d 31 2c 0d 09 43 |um{..Tab|by=1,..C|
|00000200| 72 61 73 68 0d 7d 3b 0d | 73 68 6f 72 74 20 09 09 |rash.};.|short ..|
|00000210| 09 53 74 61 72 74 65 64 | 3b 0d 75 6e 73 69 67 6e |.Started|;.unsign|
|00000220| 65 64 20 6c 6f 6e 67 09 | 53 74 61 72 74 54 69 6d |ed long.|StartTim|
|00000230| 65 3d 30 2c 0d 09 09 09 | 09 42 79 74 65 73 54 66 |e=0,....|.BytesTf|
|00000240| 72 64 3b 0d 0d 73 68 6f | 72 74 20 44 6f 49 74 28 |rd;..sho|rt DoIt(|
|00000250| 29 0d 7b 0d 09 73 68 6f | 72 74 09 09 09 65 72 72 |).{..sho|rt...err|
|00000260| 2c 0d 09 09 09 09 09 66 | 70 2c 0d 09 09 09 09 09 |,......f|p,......|
|00000270| 4f 75 74 46 50 3b 0d 09 | 53 74 72 32 35 35 09 09 |OutFP;..|Str255..|
|00000280| 09 73 3b 0d 09 75 6e 73 | 69 67 6e 65 64 20 6c 6f |.s;..uns|igned lo|
|00000290| 6e 67 20 09 42 79 74 65 | 43 6f 75 6e 74 3b 0d 09 |ng .Byte|Count;..|
|000002a0| 48 61 6e 64 6c 65 09 09 | 09 49 6e 74 6c 52 65 73 |Handle..|.IntlRes|
|000002b0| 3b 0d 09 09 09 09 09 0d | 09 73 70 72 69 6e 74 66 |;.......|.sprintf|
|000002c0| 28 73 2c 22 54 61 62 62 | 79 4c 6f 67 67 65 72 2e |(s,"Tabb|yLogger.|
|000002d0| 6f 75 74 22 29 3b 0d 09 | 69 66 28 28 65 72 72 20 |out");..|if((err |
|000002e0| 3d 20 43 72 65 61 74 65 | 28 43 74 6f 50 73 74 72 |= Create|(CtoPstr|
|000002f0| 28 73 29 2c 4d 79 76 52 | 65 66 4e 75 6d 2c 27 51 |(s),MyvR|efNum,'Q|
|00000300| 45 44 31 27 2c 27 54 45 | 58 54 27 29 29 29 0d 09 |ED1','TE|XT')))..|
|00000310| 09 69 66 28 65 72 72 20 | 21 3d 20 64 75 70 46 4e |.if(err |!= dupFN|
|00000320| 45 72 72 29 0d 09 09 09 | 72 65 74 75 72 6e 28 65 |Err)....|return(e|
|00000330| 72 72 29 3b 0d 09 69 66 | 28 28 65 72 72 20 3d 20 |rr);..if|((err = |
|00000340| 46 53 4f 70 65 6e 28 73 | 2c 4d 79 76 52 65 66 4e |FSOpen(s|,MyvRefN|
|00000350| 75 6d 2c 26 4f 75 74 46 | 50 29 29 29 0d 09 09 72 |um,&OutF|P)))...r|
|00000360| 65 74 75 72 6e 28 65 72 | 72 29 3b 0d 09 69 66 28 |eturn(er|r);..if(|
|00000370| 28 65 72 72 20 3d 20 53 | 65 74 45 4f 46 28 4f 75 |(err = S|etEOF(Ou|
|00000380| 74 46 50 2c 30 6c 29 29 | 29 7b 0d 09 09 46 53 43 |tFP,0l))|){...FSC|
|00000390| 6c 6f 73 65 28 4f 75 74 | 46 50 29 3b 0d 09 09 72 |lose(Out|FP);...r|
|000003a0| 65 74 75 72 6e 28 65 72 | 72 29 3b 0d 09 7d 0d 09 |eturn(er|r);..}..|
|000003b0| 73 70 72 69 6e 74 66 28 | 73 2c 22 20 20 44 61 74 |sprintf(|s," Dat|
|000003c0| 65 20 20 20 20 20 54 69 | 6d 65 20 20 20 20 20 20 |e Ti|me |
|000003d0| 20 4e 6f 64 65 20 20 20 | 20 4f 6e 6c 69 6e 65 20 | Node | Online |
|000003e0| 20 43 50 53 20 20 4d 65 | 74 68 6f 64 5c 72 22 29 | CPS Me|thod\r")|
|000003f0| 3b 0d 09 42 79 74 65 43 | 6f 75 6e 74 20 3d 20 73 |;..ByteC|ount = s|
|00000400| 74 72 6c 65 6e 28 73 29 | 3b 0d 09 65 72 72 20 3d |trlen(s)|;..err =|
|00000410| 20 46 53 57 72 69 74 65 | 28 4f 75 74 46 50 2c 26 | FSWrite|(OutFP,&|
|00000420| 42 79 74 65 43 6f 75 6e | 74 2c 73 29 3b 09 2f 2a |ByteCoun|t,s);./*|
|00000430| 20 49 20 64 6f 6e 27 74 | 20 63 61 72 65 20 61 62 | I don't| care ab|
|00000440| 6f 75 74 20 65 72 72 6f | 72 73 20 2a 2f 0d 09 49 |out erro|rs */..I|
|00000450| 6e 74 6c 52 65 73 20 3d | 20 47 65 74 52 65 73 6f |ntlRes =| GetReso|
|00000460| 75 72 63 65 28 27 49 4e | 54 4c 27 2c 31 32 38 29 |urce('IN|TL',128)|
|00000470| 3b 0d 23 69 66 64 65 66 | 20 44 4f 4b 49 52 4b 53 |;.#ifdef| DOKIRKS|
|00000480| 54 55 46 46 0d 09 69 66 | 28 21 28 65 72 72 20 3d |TUFF..if|(!(err =|
|00000490| 20 46 53 4f 70 65 6e 28 | 22 5c 70 3a 54 61 62 62 | FSOpen(|"\p:Tabb|
|000004a0| 79 3a 54 61 62 62 79 20 | 4c 6f 67 2e 61 72 63 68 |y:Tabby |Log.arch|
|000004b0| 22 2c 4d 79 76 52 65 66 | 4e 75 6d 2c 26 66 70 29 |",MyvRef|Num,&fp)|
|000004c0| 29 29 7b 0d 09 09 77 68 | 69 6c 65 28 21 44 6f 41 |)){...wh|ile(!DoA|
|000004d0| 4c 69 6e 65 28 66 70 2c | 4f 75 74 46 50 2c 49 6e |Line(fp,|OutFP,In|
|000004e0| 74 6c 52 65 73 29 29 3b | 0d 09 09 46 53 43 6c 6f |tlRes));|...FSClo|
|000004f0| 73 65 28 66 70 29 3b 0d | 09 7d 0d 23 65 6e 64 69 |se(fp);.|.}.#endi|
|00000500| 66 0d 09 69 66 28 21 28 | 65 72 72 20 3d 20 46 53 |f..if(!(|err = FS|
|00000510| 4f 70 65 6e 28 22 5c 70 | 3a 54 61 62 62 79 3a 54 |Open("\p|:Tabby:T|
|00000520| 61 62 62 79 20 4c 6f 67 | 22 2c 4d 79 76 52 65 66 |abby Log|",MyvRef|
|00000530| 4e 75 6d 2c 26 66 70 29 | 29 29 7b 0d 09 09 77 68 |Num,&fp)|)){...wh|
|00000540| 69 6c 65 28 21 44 6f 41 | 4c 69 6e 65 28 66 70 2c |ile(!DoA|Line(fp,|
|00000550| 4f 75 74 46 50 2c 49 6e | 74 6c 52 65 73 29 29 3b |OutFP,In|tlRes));|
|00000560| 0d 09 09 46 53 43 6c 6f | 73 65 28 66 70 29 3b 0d |...FSClo|se(fp);.|
|00000570| 09 7d 0d 09 52 65 6c 65 | 61 73 65 52 65 73 6f 75 |.}..Rele|aseResou|
|00000580| 72 63 65 28 49 6e 74 6c | 52 65 73 29 3b 0d 09 46 |rce(Intl|Res);..F|
|00000590| 53 43 6c 6f 73 65 28 4f | 75 74 46 50 29 3b 0d 09 |SClose(O|utFP);..|
|000005a0| 72 65 74 75 72 6e 28 65 | 72 72 29 3b 0d 7d 0d 73 |return(e|rr);.}.s|
|000005b0| 68 6f 72 74 20 44 6f 41 | 4c 69 6e 65 28 73 68 6f |hort DoA|Line(sho|
|000005c0| 72 74 20 66 70 2c 73 68 | 6f 72 74 20 4f 75 74 46 |rt fp,sh|ort OutF|
|000005d0| 50 2c 48 61 6e 64 6c 65 | 20 49 6e 74 6c 52 65 73 |P,Handle| IntlRes|
|000005e0| 29 0d 7b 0d 09 53 74 72 | 32 35 35 09 09 09 73 2c |).{..Str|255...s,|
|000005f0| 0d 09 09 09 09 09 44 61 | 74 65 2c 0d 09 09 09 09 |......Da|te,.....|
|00000600| 09 54 69 6d 65 2c 0d 09 | 09 09 09 09 4f 6e 6c 69 |.Time,..|....Onli|
|00000610| 6e 65 2c 0d 09 09 09 09 | 09 73 74 3b 0d 09 73 68 |ne,.....|.st;..sh|
|00000620| 6f 72 74 09 09 09 65 72 | 72 3d 30 2c 0d 09 09 09 |ort...er|r=0,....|
|00000630| 09 09 46 69 6e 69 73 68 | 3d 30 3b 0d 09 75 6e 73 |..Finish|=0;..uns|
|00000640| 69 67 6e 65 64 20 6c 6f | 6e 67 09 4c 69 6e 65 54 |igned lo|ng.LineT|
|00000650| 69 6d 65 2c 0d 09 09 09 | 09 09 43 50 53 2c 0d 23 |ime,....|..CPS,.#|
|00000660| 69 66 64 65 66 20 44 4f | 4b 49 52 4b 53 54 55 46 |ifdef DO|KIRKSTUF|
|00000670| 46 0d 09 09 09 09 09 44 | 6f 6c 6c 61 72 73 2c 0d |F......D|ollars,.|
|00000680| 09 09 09 09 09 43 65 6e | 74 73 2c 0d 23 65 6e 64 |.....Cen|ts,.#end|
|00000690| 69 66 0d 09 09 09 09 09 | 42 79 74 65 43 6f 75 6e |if......|ByteCoun|
|000006a0| 74 3b 0d 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |t;..unsi|gned cha|
|000006b0| 72 09 2a 75 63 70 74 72 | 3b 0d 09 0d 09 69 66 28 |r.*ucptr|;....if(|
|000006c0| 21 4d 79 52 65 61 64 4c | 69 6e 65 28 66 70 2c 73 |!MyReadL|ine(fp,s|
|000006d0| 2c 54 52 55 45 29 29 0d | 09 09 72 65 74 75 72 6e |,TRUE)).|..return|
|000006e0| 28 2d 31 29 3b 0d 09 69 | 66 28 21 28 4c 69 6e 65 |(-1);..i|f(!(Line|
|000006f0| 54 69 6d 65 20 3d 20 47 | 65 74 4c 69 6e 65 54 69 |Time = G|etLineTi|
|00000700| 6d 65 28 73 2c 26 75 63 | 70 74 72 29 29 29 0d 09 |me(s,&uc|ptr)))..|
|00000710| 09 72 65 74 75 72 6e 28 | 30 29 3b 0d 09 69 66 28 |.return(|0);..if(|
|00000720| 20 43 6f 6e 74 61 69 6e | 73 53 74 72 69 6e 67 28 | Contain|sString(|
|00000730| 26 75 63 70 74 72 2c 28 | 75 6e 73 69 67 6e 65 64 |&ucptr,(|unsigned|
|00000740| 20 63 68 61 72 20 2a 29 | 22 43 6f 6e 6e 65 63 74 | char *)|"Connect|
|00000750| 43 68 6b 20 2d 20 42 42 | 53 20 63 61 6c 6c 20 72 |Chk - BB|S call r|
|00000760| 65 63 65 69 76 65 64 20 | 6f 6e 20 70 6f 72 74 22 |eceived |on port"|
|00000770| 29 20 7c 7c 20 0d 09 09 | 43 6f 6e 74 61 69 6e 73 |) || ...|Contains|
|00000780| 53 74 72 69 6e 67 28 26 | 75 63 70 74 72 2c 28 75 |String(&|ucptr,(u|
|00000790| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 29 22 |nsigned |char *)"|
|000007a0| 41 74 74 65 6d 70 74 69 | 6e 67 20 63 61 6c 6c 20 |Attempti|ng call |
|000007b0| 74 6f 20 22 29 29 7b 0d | 09 09 53 74 61 72 74 65 |to ")){.|..Starte|
|000007c0| 64 20 3d 20 31 3b 0d 09 | 09 53 74 61 72 74 54 69 |d = 1;..|.StartTi|
|000007d0| 6d 65 20 3d 20 4c 69 6e | 65 54 69 6d 65 3b 0d 09 |me = Lin|eTime;..|
|000007e0| 09 42 79 74 65 73 54 66 | 72 64 3d 30 3b 0d 09 7d |.BytesTf|rd=0;..}|
|000007f0| 20 65 6c 73 65 20 69 66 | 28 43 6f 6e 74 61 69 6e | else if|(Contain|
|00000800| 73 53 74 72 69 6e 67 28 | 26 75 63 70 74 72 2c 28 |sString(|&ucptr,(|
|00000810| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 29 |unsigned| char *)|
|00000820| 22 53 65 6e 64 69 6e 67 | 20 22 29 20 7c 7c 20 0d |"Sending| ") || .|
|00000830| 09 09 09 20 20 43 6f 6e | 74 61 69 6e 73 53 74 72 |... Con|tainsStr|
|00000840| 69 6e 67 28 26 75 63 70 | 74 72 2c 28 75 6e 73 69 |ing(&ucp|tr,(unsi|
|00000850| 67 6e 65 64 20 63 68 61 | 72 20 2a 29 22 52 65 63 |gned cha|r *)"Rec|
|00000860| 65 69 76 69 6e 67 20 22 | 29 29 7b 0d 09 09 75 63 |eiving "|)){...uc|
|00000870| 70 74 72 20 3d 20 28 75 | 6e 73 69 67 6e 65 64 20 |ptr = (u|nsigned |
|00000880| 63 68 61 72 20 2a 29 73 | 74 72 74 6f 6b 28 75 63 |char *)s|trtok(uc|
|00000890| 70 74 72 2c 28 75 6e 73 | 69 67 6e 65 64 20 63 68 |ptr,(uns|igned ch|
|000008a0| 61 72 20 2a 29 22 20 22 | 29 3b 0d 09 09 43 50 53 |ar *)" "|);...CPS|
|000008b0| 20 3d 20 61 74 6f 69 28 | 75 63 70 74 72 29 3b 0d | = atoi(|ucptr);.|
|000008c0| 09 09 43 50 53 20 3c 3c | 3d 20 37 3b 0d 09 09 42 |..CPS <<|= 7;...B|
|000008d0| 79 74 65 73 54 66 72 64 | 20 2b 3d 20 43 50 53 3b |ytesTfrd| += CPS;|
|000008e0| 0d 09 7d 20 65 6c 73 65 | 20 69 66 28 43 6f 6e 74 |..} else| if(Cont|
|000008f0| 61 69 6e 73 53 74 72 69 | 6e 67 28 26 75 63 70 74 |ainsStri|ng(&ucpt|
|00000900| 72 2c 28 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |r,(unsig|ned char|
|00000910| 20 2a 29 22 43 6f 6e 6e | 65 63 74 43 68 6b 20 2d | *)"Conn|ectChk -|
|00000920| 20 42 42 53 20 69 6e 69 | 74 69 61 74 65 64 20 73 | BBS ini|tiated s|
|00000930| 65 73 73 69 6f 6e 20 77 | 69 74 68 20 22 29 29 7b |ession w|ith ")){|
|00000940| 0d 09 09 46 69 6e 69 73 | 68 3d 43 72 61 73 68 3b |...Finis|h=Crash;|
|00000950| 0d 09 7d 20 65 6c 73 65 | 20 69 66 28 43 6f 6e 74 |..} else| if(Cont|
|00000960| 61 69 6e 73 53 74 72 69 | 6e 67 28 26 75 63 70 74 |ainsStri|ng(&ucpt|
|00000970| 72 2c 28 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |r,(unsig|ned char|
|00000980| 20 2a 29 22 43 61 6c 6c | 20 74 6f 20 22 29 29 7b | *)"Call| to ")){|
|00000990| 0d 09 09 46 69 6e 69 73 | 68 20 3d 20 54 61 62 62 |...Finis|h = Tabb|
|000009a0| 79 3b 0d 09 7d 0d 09 69 | 66 28 46 69 6e 69 73 68 |y;..}..i|f(Finish|
|000009b0| 29 7b 0d 09 09 69 66 28 | 53 74 61 72 74 65 64 29 |){...if(|Started)|
|000009c0| 7b 0d 09 09 09 2f 2a 20 | 77 65 20 66 6f 75 6e 64 |{..../* |we found|
|000009d0| 20 6f 6e 65 20 2a 2f 0d | 09 09 09 4c 69 6e 65 54 | one */.|...LineT|
|000009e0| 69 6d 65 20 2d 3d 20 53 | 74 61 72 74 54 69 6d 65 |ime -= S|tartTime|
|000009f0| 3b 0d 09 09 09 43 50 53 | 20 3d 20 42 79 74 65 73 |;....CPS| = Bytes|
|00000a00| 54 66 72 64 20 2f 20 4c | 69 6e 65 54 69 6d 65 3b |Tfrd / L|ineTime;|
|00000a10| 0d 09 09 09 75 63 70 74 | 72 20 3d 20 28 75 6e 73 |....ucpt|r = (uns|
|00000a20| 69 67 6e 65 64 20 63 68 | 61 72 20 2a 29 73 74 72 |igned ch|ar *)str|
|00000a30| 74 6f 6b 28 75 63 70 74 | 72 2c 28 75 6e 73 69 67 |tok(ucpt|r,(unsig|
|00000a40| 6e 65 64 20 63 68 61 72 | 20 2a 29 22 20 22 29 3b |ned char| *)" ");|
|00000a50| 0d 09 09 09 69 66 28 28 | 49 6e 74 6c 52 65 73 29 |....if((|IntlRes)|
|00000a60| 29 7b 0d 09 09 09 09 49 | 55 44 61 74 65 50 53 74 |){.....I|UDatePSt|
|00000a70| 72 69 6e 67 28 53 74 61 | 72 74 54 69 6d 65 2c 73 |ring(Sta|rtTime,s|
|00000a80| 68 6f 72 74 44 61 74 65 | 2c 44 61 74 65 2c 49 6e |hortDate|,Date,In|
|00000a90| 74 6c 52 65 73 29 3b 0d | 09 09 09 09 49 55 54 69 |tlRes);.|....IUTi|
|00000aa0| 6d 65 50 53 74 72 69 6e | 67 28 53 74 61 72 74 54 |mePStrin|g(StartT|
|00000ab0| 69 6d 65 2c 54 52 55 45 | 2c 54 69 6d 65 2c 49 6e |ime,TRUE|,Time,In|
|00000ac0| 74 6c 52 65 73 29 3b 0d | 09 09 09 09 49 55 54 69 |tlRes);.|....IUTi|
|00000ad0| 6d 65 50 53 74 72 69 6e | 67 28 4c 69 6e 65 54 69 |mePStrin|g(LineTi|
|00000ae0| 6d 65 2c 54 52 55 45 2c | 4f 6e 6c 69 6e 65 2c 49 |me,TRUE,|Online,I|
|00000af0| 6e 74 6c 52 65 73 29 3b | 0d 09 09 09 7d 20 65 6c |ntlRes);|....} el|
|00000b00| 73 65 20 7b 0d 09 09 09 | 09 49 55 44 61 74 65 53 |se {....|.IUDateS|
|00000b10| 74 72 69 6e 67 28 53 74 | 61 72 74 54 69 6d 65 2c |tring(St|artTime,|
|00000b20| 73 68 6f 72 74 44 61 74 | 65 2c 44 61 74 65 29 3b |shortDat|e,Date);|
|00000b30| 0d 09 09 09 09 49 55 54 | 69 6d 65 53 74 72 69 6e |.....IUT|imeStrin|
|00000b40| 67 28 53 74 61 72 74 54 | 69 6d 65 2c 54 52 55 45 |g(StartT|ime,TRUE|
|00000b50| 2c 54 69 6d 65 29 3b 0d | 09 09 09 09 49 55 54 69 |,Time);.|....IUTi|
|00000b60| 6d 65 53 74 72 69 6e 67 | 28 4c 69 6e 65 54 69 6d |meString|(LineTim|
|00000b70| 65 2c 54 52 55 45 2c 4f | 6e 6c 69 6e 65 29 3b 0d |e,TRUE,O|nline);.|
|00000b80| 09 09 09 7d 0d 09 09 09 | 69 66 28 46 69 6e 69 73 |...}....|if(Finis|
|00000b90| 68 20 3d 3d 20 54 61 62 | 62 79 29 7b 0d 23 69 66 |h == Tab|by){.#if|
|00000ba0| 64 65 66 20 44 4f 4b 49 | 52 4b 53 54 55 46 46 0d |def DOKI|RKSTUFF.|
|00000bb0| 09 09 09 09 69 66 28 21 | 73 74 72 63 6d 70 28 75 |....if(!|strcmp(u|
|00000bc0| 63 70 74 72 2c 28 75 6e | 73 69 67 6e 65 64 20 63 |cptr,(un|signed c|
|00000bd0| 68 61 72 20 2a 29 22 31 | 31 34 2f 32 37 22 29 29 |har *)"1|14/27"))|
|00000be0| 0d 09 09 09 09 09 43 65 | 6e 74 73 20 3d 20 4c 69 |......Ce|nts = Li|
|00000bf0| 6e 65 54 69 6d 65 20 2a | 20 31 32 20 2f 20 36 30 |neTime *| 12 / 60|
|00000c00| 3b 0d 09 09 09 09 65 6c | 73 65 0d 09 09 09 09 09 |;.....el|se......|
|00000c10| 43 65 6e 74 73 20 3d 20 | 30 3b 0d 09 09 09 09 69 |Cents = |0;.....i|
|00000c20| 66 28 43 65 6e 74 73 29 | 7b 0d 09 09 09 09 09 44 |f(Cents)|{......D|
|00000c30| 6f 6c 6c 61 72 73 20 3d | 20 43 65 6e 74 73 20 2f |ollars =| Cents /|
|00000c40| 20 31 30 30 3b 0d 09 09 | 09 09 09 43 65 6e 74 73 | 100;...|...Cents|
|00000c50| 20 3d 20 43 65 6e 74 73 | 20 25 20 31 30 30 3b 0d | = Cents| % 100;.|
|00000c60| 09 09 09 09 09 73 70 72 | 69 6e 74 66 28 73 74 2c |.....spr|intf(st,|
|00000c70| 22 25 73 20 25 73 20 25 | 39 73 20 20 25 73 20 25 |"%s %s %|9s %s %|
|00000c80| 34 6c 75 20 54 61 62 62 | 79 20 20 20 20 20 25 6c |4lu Tabb|y %l|
|00000c90| 75 2e 25 30 32 6c 75 5c | 72 22 2c 50 74 6f 43 73 |u.%02lu\|r",PtoCs|
|00000ca0| 74 72 28 44 61 74 65 29 | 2c 50 74 6f 43 73 74 72 |tr(Date)|,PtoCstr|
|00000cb0| 28 54 69 6d 65 29 2c 75 | 63 70 74 72 2c 50 74 6f |(Time),u|cptr,Pto|
|00000cc0| 43 73 74 72 28 4f 6e 6c | 69 6e 65 29 2c 43 50 53 |Cstr(Onl|ine),CPS|
|00000cd0| 2c 44 6f 6c 6c 61 72 73 | 2c 43 65 6e 74 73 29 3b |,Dollars|,Cents);|
|00000ce0| 0d 09 09 09 09 7d 20 65 | 6c 73 65 0d 23 65 6e 64 |.....} e|lse.#end|
|00000cf0| 69 66 0d 09 09 09 09 09 | 73 70 72 69 6e 74 66 28 |if......|sprintf(|
|00000d00| 73 74 2c 22 25 73 20 25 | 73 20 25 39 73 20 20 25 |st,"%s %|s %9s %|
|00000d10| 73 20 25 34 6c 75 20 54 | 61 62 62 79 5c 72 22 2c |s %4lu T|abby\r",|
|00000d20| 50 74 6f 43 73 74 72 28 | 44 61 74 65 29 2c 50 74 |PtoCstr(|Date),Pt|
|00000d30| 6f 43 73 74 72 28 54 69 | 6d 65 29 2c 75 63 70 74 |oCstr(Ti|me),ucpt|
|00000d40| 72 2c 50 74 6f 43 73 74 | 72 28 4f 6e 6c 69 6e 65 |r,PtoCst|r(Online|
|00000d50| 29 2c 43 50 53 29 3b 0d | 09 09 09 7d 20 65 6c 73 |),CPS);.|...} els|
|00000d60| 65 0d 09 09 09 09 73 70 | 72 69 6e 74 66 28 73 74 |e.....sp|rintf(st|
|00000d70| 2c 22 25 73 20 25 73 20 | 25 39 73 20 20 25 73 20 |,"%s %s |%9s %s |
|00000d80| 25 34 6c 75 20 43 72 61 | 73 68 4d 61 69 6c 5c 72 |%4lu Cra|shMail\r|
|00000d90| 22 2c 50 74 6f 43 73 74 | 72 28 44 61 74 65 29 2c |",PtoCst|r(Date),|
|00000da0| 50 74 6f 43 73 74 72 28 | 54 69 6d 65 29 2c 75 63 |PtoCstr(|Time),uc|
|00000db0| 70 74 72 2c 50 74 6f 43 | 73 74 72 28 4f 6e 6c 69 |ptr,PtoC|str(Onli|
|00000dc0| 6e 65 29 2c 43 50 53 29 | 3b 0d 09 09 09 2f 2a 20 |ne),CPS)|;..../* |
|00000dd0| 73 74 6f 72 65 20 74 68 | 65 20 6c 69 6e 65 20 69 |store th|e line i|
|00000de0| 6e 20 74 68 65 20 66 69 | 6c 65 20 2a 2f 0d 09 09 |n the fi|le */...|
|00000df0| 09 42 79 74 65 43 6f 75 | 6e 74 20 3d 20 73 74 72 |.ByteCou|nt = str|
|00000e00| 6c 65 6e 28 73 74 29 3b | 0d 09 09 09 65 72 72 20 |len(st);|....err |
|00000e10| 3d 20 46 53 57 72 69 74 | 65 28 4f 75 74 46 50 2c |= FSWrit|e(OutFP,|
|00000e20| 26 42 79 74 65 43 6f 75 | 6e 74 2c 73 74 29 3b 09 |&ByteCou|nt,st);.|
|00000e30| 2f 2a 20 49 20 64 6f 6e | 27 74 20 63 61 72 65 20 |/* I don|'t care |
|00000e40| 61 62 6f 75 74 20 65 72 | 72 6f 72 73 20 2a 2f 0d |about er|rors */.|
|00000e50| 09 09 7d 0d 09 09 53 74 | 61 72 74 65 64 20 3d 20 |..}...St|arted = |
|00000e60| 30 3b 0d 09 7d 0d 09 72 | 65 74 75 72 6e 28 65 72 |0;..}..r|eturn(er|
|00000e70| 72 29 3b 0d 7d 0d 75 6e | 73 69 67 6e 65 64 20 6c |r);.}.un|signed l|
|00000e80| 6f 6e 67 20 47 65 74 4c | 69 6e 65 54 69 6d 65 28 |ong GetL|ineTime(|
|00000e90| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 73 |unsigned| char *s|
|00000ea0| 2c 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 2a |,unsigne|d char *|
|00000eb0| 2a 54 68 65 50 74 72 29 | 0d 7b 0d 09 44 61 74 65 |*ThePtr)|.{..Date|
|00000ec0| 54 69 6d 65 52 65 63 09 | 64 52 65 63 3b 0d 09 75 |TimeRec.|dRec;..u|
|00000ed0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 63 70 |nsigned |char *cp|
|00000ee0| 74 72 3b 0d 09 75 6e 73 | 69 67 6e 65 64 20 6c 6f |tr;..uns|igned lo|
|00000ef0| 6e 67 20 54 68 65 54 69 | 6d 65 3b 0d 09 0d 09 69 |ng TheTi|me;....i|
|00000f00| 66 28 2a 73 20 3d 3d 20 | 27 2d 27 29 0d 09 09 72 |f(*s == |'-')...r|
|00000f10| 65 74 75 72 6e 28 30 4c | 29 3b 0d 09 63 70 74 72 |eturn(0L|);..cptr|
|00000f20| 20 3d 20 28 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | = (unsi|gned cha|
|00000f30| 72 20 2a 29 73 74 72 74 | 6f 6b 28 73 2c 44 45 4c |r *)strt|ok(s,DEL|
|00000f40| 49 4d 49 54 45 52 29 3b | 0d 09 64 52 65 63 2e 6d |IMITER);|..dRec.m|
|00000f50| 6f 6e 74 68 20 3d 20 61 | 74 6f 69 28 63 70 74 72 |onth = a|toi(cptr|
|00000f60| 29 3b 0d 09 63 70 74 72 | 20 3d 20 28 75 6e 73 69 |);..cptr| = (unsi|
|00000f70| 67 6e 65 64 20 63 68 61 | 72 20 2a 29 73 74 72 74 |gned cha|r *)strt|
|00000f80| 6f 6b 28 6e 69 6c 2c 44 | 45 4c 49 4d 49 54 45 52 |ok(nil,D|ELIMITER|
|00000f90| 29 3b 0d 09 64 52 65 63 | 2e 64 61 79 20 3d 20 61 |);..dRec|.day = a|
|00000fa0| 74 6f 69 28 63 70 74 72 | 29 3b 0d 09 63 70 74 72 |toi(cptr|);..cptr|
|00000fb0| 20 3d 20 28 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | = (unsi|gned cha|
|00000fc0| 72 20 2a 29 73 74 72 74 | 6f 6b 28 6e 69 6c 2c 44 |r *)strt|ok(nil,D|
|00000fd0| 45 4c 49 4d 49 54 45 52 | 29 3b 0d 09 64 52 65 63 |ELIMITER|);..dRec|
|00000fe0| 2e 79 65 61 72 20 3d 20 | 61 74 6f 69 28 63 70 74 |.year = |atoi(cpt|
|00000ff0| 72 29 20 2b 20 31 39 30 | 30 3b 0d 09 69 66 28 64 |r) + 190|0;..if(d|
|00001000| 52 65 63 2e 79 65 61 72 | 20 3c 20 31 39 38 34 29 |Rec.year| < 1984)|
|00001010| 0d 09 09 64 52 65 63 2e | 79 65 61 72 20 2b 3d 20 |...dRec.|year += |
|00001020| 31 30 30 3b 0d 09 63 70 | 74 72 20 3d 20 28 75 6e |100;..cp|tr = (un|
|00001030| 73 69 67 6e 65 64 20 63 | 68 61 72 20 2a 29 73 74 |signed c|har *)st|
|00001040| 72 74 6f 6b 28 6e 69 6c | 2c 44 45 4c 49 4d 49 54 |rtok(nil|,DELIMIT|
|00001050| 45 52 29 3b 0d 09 64 52 | 65 63 2e 68 6f 75 72 20 |ER);..dR|ec.hour |
|00001060| 3d 20 61 74 6f 69 28 63 | 70 74 72 29 3b 0d 09 63 |= atoi(c|ptr);..c|
|00001070| 70 74 72 20 3d 20 28 75 | 6e 73 69 67 6e 65 64 20 |ptr = (u|nsigned |
|00001080| 63 68 61 72 20 2a 29 73 | 74 72 74 6f 6b 28 6e 69 |char *)s|trtok(ni|
|00001090| 6c 2c 44 45 4c 49 4d 49 | 54 45 52 29 3b 0d 09 64 |l,DELIMI|TER);..d|
|000010a0| 52 65 63 2e 6d 69 6e 75 | 74 65 20 3d 20 61 74 6f |Rec.minu|te = ato|
|000010b0| 69 28 63 70 74 72 29 3b | 0d 09 63 70 74 72 20 3d |i(cptr);|..cptr =|
|000010c0| 20 28 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 | (unsign|ed char |
|000010d0| 2a 29 73 74 72 74 6f 6b | 28 6e 69 6c 2c 44 45 4c |*)strtok|(nil,DEL|
|000010e0| 49 4d 49 54 45 52 29 3b | 0d 09 64 52 65 63 2e 73 |IMITER);|..dRec.s|
|000010f0| 65 63 6f 6e 64 20 3d 20 | 61 74 6f 69 28 63 70 74 |econd = |atoi(cpt|
|00001100| 72 29 3b 0d 09 63 70 74 | 72 20 2b 3d 20 73 74 72 |r);..cpt|r += str|
|00001110| 6c 65 6e 28 63 70 74 72 | 29 20 2b 20 31 3b 0d 09 |len(cptr|) + 1;..|
|00001120| 2a 54 68 65 50 74 72 20 | 3d 20 63 70 74 72 3b 0d |*ThePtr |= cptr;.|
|00001130| 09 44 61 74 65 32 53 65 | 63 73 28 26 64 52 65 63 |.Date2Se|cs(&dRec|
|00001140| 2c 26 54 68 65 54 69 6d | 65 29 3b 0d 09 72 65 74 |,&TheTim|e);..ret|
|00001150| 75 72 6e 28 54 68 65 54 | 69 6d 65 29 3b 0d 7d 0d |urn(TheT|ime);.}.|
|00001160| 73 68 6f 72 74 20 43 6f | 6e 74 61 69 6e 73 53 74 |short Co|ntainsSt|
|00001170| 72 69 6e 67 28 75 6e 73 | 69 67 6e 65 64 20 63 68 |ring(uns|igned ch|
|00001180| 61 72 20 2a 2a 44 61 74 | 61 50 74 72 2c 75 6e 73 |ar **Dat|aPtr,uns|
|00001190| 69 67 6e 65 64 20 63 68 | 61 72 20 2a 46 69 6e 64 |igned ch|ar *Find|
|000011a0| 4d 65 29 0d 7b 0d 09 75 | 6e 73 69 67 6e 65 64 20 |Me).{..u|nsigned |
|000011b0| 63 68 61 72 20 2a 4f 72 | 69 67 50 74 72 2c 2a 46 |char *Or|igPtr,*F|
|000011c0| 69 6e 64 4d 65 50 74 72 | 3b 0d 09 0d 09 4f 72 69 |indMePtr|;....Ori|
|000011d0| 67 50 74 72 20 3d 20 2a | 44 61 74 61 50 74 72 3b |gPtr = *|DataPtr;|
|000011e0| 0d 09 46 69 6e 64 4d 65 | 50 74 72 20 3d 20 46 69 |..FindMe|Ptr = Fi|
|000011f0| 6e 64 4d 65 3b 0d 09 0d | 09 77 68 69 6c 65 28 2a |ndMe;...|.while(*|
|00001200| 46 69 6e 64 4d 65 50 74 | 72 20 26 26 20 28 2a 46 |FindMePt|r && (*F|
|00001210| 69 6e 64 4d 65 50 74 72 | 20 3d 3d 20 2a 4f 72 69 |indMePtr| == *Ori|
|00001220| 67 50 74 72 29 29 7b 0d | 09 09 46 69 6e 64 4d 65 |gPtr)){.|..FindMe|
|00001230| 50 74 72 2b 2b 3b 0d 09 | 09 4f 72 69 67 50 74 72 |Ptr++;..|.OrigPtr|
|00001240| 2b 2b 3b 0d 09 7d 0d 09 | 69 66 28 21 2a 46 69 6e |++;..}..|if(!*Fin|
|00001250| 64 4d 65 50 74 72 29 7b | 0d 09 09 2a 44 61 74 61 |dMePtr){|...*Data|
|00001260| 50 74 72 20 3d 20 4f 72 | 69 67 50 74 72 3b 0d 09 |Ptr = Or|igPtr;..|
|00001270| 7d 0d 09 72 65 74 75 72 | 6e 28 28 2a 46 69 6e 64 |}..retur|n((*Find|
|00001280| 4d 65 50 74 72 20 3d 3d | 20 30 29 29 3b 0d 7d 00 |MePtr ==| 0));.}.|
|00001290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001300| 00 00 01 00 00 00 01 9a | 00 00 00 9a 00 00 00 32 |........|.......2|
|00001310| 26 04 11 88 00 05 26 06 | 12 3e 00 2a 26 ee 12 3f |&.....&.|.>.*&..?|
|00001320| 04 fe 26 82 12 40 01 c1 | 27 0c 12 41 00 3a 15 2f |..&..@..|'..A.:./|
|00001330| 0d 54 61 62 62 79 4c 6f | 67 67 65 72 2e 63 02 00 |.TabbyLo|gger.c..|
|00001340| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 34 00 00 |..TEXTKA|HL...4..|
|00001350| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 34 00 00 |..TEXTKA|HL...4..|
|00001360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001370| 00 00 a6 50 ab 01 00 00 | 12 0f 00 00 01 cc 00 3a |...P....|.......:|
|00001380| 27 0b 12 48 00 3a 15 0a | 12 49 1b 4a fe fa 3a 00 |'..H.:..|.I.J..:.|
|00001390| 00 b7 00 f4 00 00 00 4e | 3b 00 11 81 26 00 12 4a |.......N|;...&..J|
|000013a0| 00 3a 26 fe 12 46 00 05 | 27 07 12 42 00 05 15 2f |.:&..F..|'..B.../|
|000013b0| 00 5a 1b 4a fe fe 15 2f | 12 4b 1b 4a fd fe 15 2f |.Z.J.../|.K.J.../|
|000013c0| 0b 43 1b 4a fc fe 15 0a | 12 4c 1b 4a fc fa 15 0a |.C.J....|.L.J....|
|000013d0| 12 49 1b 4a fc f6 27 0c | 12 4d 00 23 3a 00 00 f6 |.I.J..'.|.M.#:...|
|000013e0| 01 0a 00 00 00 22 3b 00 | 11 82 26 fe 12 46 00 05 |.....";.|..&..F..|
|000013f0| 27 07 12 42 00 05 15 2f | 00 5a 1b 4a fe fe 3a 00 |'..B.../|.Z.J..:.|
|00001400| 00 00 00 96 00 06 00 14 | 00 00 04 f3 00 36 00 43 |........|.....6.C|
|00001410| 22 58 10 01 05 43 65 6e | 74 73 00 2c 00 00 04 f3 |"X...Cen|ts.,....|
|00001420| 00 36 00 43 22 48 10 01 | 1d 28 4c 69 6e 65 54 69 |.6.C"H..|.(LineTi|
|00001430| 6d 65 20 2d 20 53 74 61 | 72 74 54 69 6d 65 29 2a |me - Sta|rtTime)*|
|00001440| 31 32 2f 36 30 20 00 16 | 00 00 04 f3 00 36 00 43 |12/60 ..|.....6.C|
|00001450| 22 38 10 01 07 44 6f 6c | 6c 61 72 73 00 18 00 00 |"8...Dol|lars....|
|00001460| 04 f3 00 36 00 43 22 28 | 10 01 09 42 79 74 65 73 |...6.C"(|...Bytes|
|00001470| 54 66 72 64 00 12 00 00 | 04 f3 00 36 00 43 22 18 |Tfrd....|...6.C".|
|00001480| 10 01 03 43 50 53 00 14 | 00 00 04 f3 00 36 00 43 |...CPS..|.....6.C|
|00001490| 22 00 10 20 05 75 63 70 | 74 72 00 00 01 00 00 00 |".. .ucp|tr......|
|000014a0| 01 9a 00 00 00 9a 00 00 | 00 32 00 65 10 bc 06 9e |........|.2.e....|
|000014b0| 00 00 00 1c 00 32 00 00 | 44 54 56 55 00 00 00 0a |.....2..|DTVU....|
|000014c0| 35 72 ff ff 00 00 00 00 | 00 00 00 00 00 00 00 00 |5r......|........|
|000014d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+